(1) Field of the Invention
The present invention relates to buffer reallocation systems, and more particularly to a buffer reallocation system in which the count of buffers used is set such that the count is optimized for the execution of a process.
Recently, the scale of software used in a system has become larger, thus generating a demand that the physically limited memory resource is utilized more efficiently. For example, there is a demand for a system capable of reducing the size of an idle resource by, for example, allocating unused memory resource to frequently used software, thereby eliminating a need to add new memory resource for the frequently used software.
(2) Description of the Prior Art
Conventionally, the count of buffers remains fixed once a system designer determines an appropriate count thereof on the basis of past experience or the result of system calculations, by referring to the processing capability, processing time and processing requirement, and by executing software or performing calculations accordingly. In case the count of buffers is set in the above manner, software must be modified and the corresponding count of buffers must be set, when a test is being executed or when a failure occurs due to the insufficient count of buffers.
There is proposed a method whereby the usage of buffers is monitored and, when the count of buffers used exceeds a buffer usage threshold level that has been predetermined at the system initialization, a warning message is displayed in an operator console so that a degradation in the system performance is prevented (Japanese Laid-Open Patent Application No. 1-295300).
Another method of preventing a degradation in the system performance is such that, when the count of buffers used exceeds the threshold level, a flag is set so as to inform the system of the occurrence of the excess, whereupon the count of buffers used is restricted to be below the threshold level by thinning out the data to be processed (Japanese Laid-Open Patent Application 2-14644). There is another method in which a reduction in the storage capacity or an overload is prevented by halting a process having a lower priority or by temporarily storing data in another storage means (Japanese Patent Application No. 4-225377).
However, the conventional methods mentioned above generally depend on the experience of the designer. Since the buffer count is increased or decreased on the basis of the past results of buffer count calculations. Hence, there is a great dependence on the personal skill of the designer.
In a method in which calculations and software are used to determine the count of buffers, it is difficult to arrive upon a proper count from the start. Since the count of buffers once determined is fixed in the system, there may occur a system down due to an insufficient buffer count while software is being executed or there may occur an increase in the time period in which no processings are performed and in which the system has to wait for an acquisition of a buffer. Moreover, it takes a long measuring time before a conclusion that an insufficiency in the buffer count is a cause of a malfunction is arrived at. It takes even more time to perform a reacquisition of a buffer so as to remedy the insufficiency of the buffer count.
The method whereby the operator is warned that the buffer count exceeds the predetermined threshold level certainly eliminates a need to perform measurements in order to arrive at a conclusion that the system down has occurred due to an insufficiency in the count of buffers. However, since this method only displays an alarm message for an operator to observe, the designer is required to perform an operation for reacquiring a buffer.
The method whereby the data to be processed is thinned out when the threshold level is exceeded has a drawback that it imposes a restriction on the volume of data to be processed. This may cause a failure to occur in the case of an operation (such as a statistical processing) in which an accurate result cannot be arrived at without a large amount of data. Moreover, a predetermination is necessary as to which data is to be thinned out. The method whereby a process having a low priority is halted or the data is temporarily stored in another storage means may cause the user to misunderstand that no process is being executed since the halting process or the storing process imposes a long wait time. The user may then repeats a request for an execution, and this causes the number of queues on the system to increase.
As has been described, the conventional technology has a problem that it is difficult to use limited memory resource efficiently, and that a determination as to an optimum count of buffers is arrived at only after the system down due to an insufficient buffer count has occurred or after a failure such as an increase in the period of time in which a program requiring a buffer acquisition is not executed has occurred due to a wait time imposed before a buffer is acquired.